package VN.EDU.IMIC.DEVELOPER.TRANTHITHANHNGA.ARRAY.EX1;

import java.util.Arrays;

public class Models {

	/**
	 * Tìm giá trị điểm trung bình
	 * 
	 * @param: double[]listMark
	 * @return
	 */

	public double averg(double[] listMark) {
		double sum = 0;
		for (int i = 0; i < listMark.length; i++) {
			sum +=listMark[i];
		}
		return sum / (listMark.length);
	}

	/**
	 * Tìm tập lớn hơn hoặc nhỏ hơn giá trị trung bình
	 * 
	 * @param: double[]listMark shOpt = 0: Chọn ra các giá trị lớn hơn điểm
	 *         trung bình shOpt = 1: chọn ra các giá trị nhỏ hơn điểm trung bình
	 */

	public double[] FindeElement(double[] listMark, short shOpt, double averg) {
		// Khởi tạo biến mảng vs độ dài bằng listMark, lấy ra các giá trị theo
		// yêu cầu, còn lại nhg ô chưa đc điền sẽ bị để giá trị mặc định
		double[] dTemp = new double[listMark.length];
		// fill element by checking conditions
		int iCount = 0;
		for (int i = 0; i < listMark.length; i++) {
			if (shOpt == 0) {
				if (listMark[i] >= averg) {
					dTemp[iCount] = listMark[i];
					iCount++;
				}
			} else {
				if (listMark[i] < averg) {
					dTemp[iCount] = listMark[i];
					iCount++;
				}
			}
		}
		// Initialize new array, copy values requiring conditions
		double[] dValue = new double[iCount];
		System.arraycopy(dTemp, 0, dValue, 0, iCount);
		return dValue;
	}
}